home *** CD-ROM | disk | FTP | other *** search
/ SGI Origin & Onyx2 Patches 1998 May / Origin and Onyx2 System Disk Patches May 1998.img / dist / patchSG0001765.idb / usr / share / catman / p_man / cat3dm / video / vlsetcontroltrigger.z / vlsetcontroltrigger
Text File  |  1997-05-19  |  11KB  |  199 lines

  1.  
  2.  
  3.  
  4. VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm))))                              VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      vlSetControlTrigger, vlSetControlInLine - frame-accurate setting of
  10.      control VL values
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      ####iiiinnnncccclllluuuuddddeeee <<<<ddddmmmmeeeeddddiiiiaaaa////vvvvllll....hhhh>>>>
  14.  
  15.      iiiinnnntttt vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllTTTTrrrriiiiggggggggeeeerrrr((((VVVVLLLLSSSSeeeerrrrvvvveeeerrrr ssssvvvvrrrr,,,, VVVVLLLLPPPPaaaatttthhhh ppppaaaatttthhhh,,,, VVVVLLLLNNNNooooddddeeee ttttaaaarrrrggggeeeettttNNNNooooddddeeee,,,,
  16.                        VVVVLLLLTTTTrrrriiiiggggggggeeeerrrrTTTTyyyyppppeeee ttttrrrriiiiggggggggeeeerrrrTTTTyyyyppppeeee,,,, VVVVLLLLTTTTrrrriiiiggggggggeeeerrrrDDDDaaaattttaaaa ****ttttrrrriiiiggggggggeeeerrrrDDDDaaaattttaaaa,,,,
  17.                        VVVVLLLLCCCCoooonnnnttttrrrroooollllTTTTyyyyppppeeee ccccoooonnnnttttrrrroooollllTTTTyyyyppppeeee,,,, VVVVLLLLCCCCoooonnnnttttrrrroooollllVVVVaaaalllluuuueeee ****vvvvaaaalllluuuueeee))));;;;
  18.      iiiinnnntttt vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllIIIInnnnLLLLiiiinnnneeee((((VVVVLLLLSSSSeeeerrrrvvvveeeerrrr ssssvvvvrrrr,,,, VVVVLLLLPPPPaaaatttthhhh ppppaaaatttthhhh,,,, VVVVLLLLNNNNooooddddeeee ttttaaaarrrrggggeeeettttNNNNooooddddeeee,,,,
  19.                        VVVVLLLLNNNNooooddddeeee rrrreeeeffffNNNNooooddddeeee,,,, VVVVLLLLCCCCoooonnnnttttrrrroooollllTTTTyyyyppppeeee ttttyyyyppppeeee,,,, VVVVLLLLCCCCoooonnnnttttrrrroooollllVVVVaaaalllluuuueeee ****vvvvaaaalllluuuueeee))));;;;
  20.  
  21. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  22.      _s_v_r      The handle for the video server to use.
  23.  
  24.      _p_a_t_h     Specifies a handle to the path.
  25.  
  26.      _t_a_r_g_e_t_N_o_d_e
  27.               Specifies the node on which the control resides (VL_ANY
  28.               specifies any node)
  29.  
  30.      _t_r_i_g_g_e_r_T_y_p_e
  31.               Specifies the type of trigger used to trigger the control
  32.               change.
  33.  
  34.      _t_r_i_g_g_e_r_D_a_t_a
  35.               Specifies data specific to the given _t_r_i_g_g_e_r_T_y_p_e used to trigger
  36.               the control change.
  37.  
  38.      _r_e_f_N_o_d_e  Specifies the memory node which provides the source of video
  39.               fields
  40.  
  41.      _t_y_p_e     Specifies the control type, as defined in <_d_m_e_d_i_a/_v_l._h>
  42.  
  43.      _v_a_l_u_e    Specifies a pointer the control's values.
  44.  
  45. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  46.      vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllTTTTrrrriiiiggggggggeeeerrrr sets the specified control value at an exact point in
  47.      the video stream defined by the associated trigger. The following types
  48.      of triggers are currently defined:
  49.  
  50.      _V_L__T_R_I_G_G_E_R__M_S_C
  51.           The control value is set based on a specified MSC (media stream
  52.           counter - see vvvvllllGGGGeeeettttFFFFrrrroooonnnnttttiiiieeeerrrrMMMMSSSSCCCC(3dm)).  The corresponding _t_r_i_g_g_e_r_D_a_t_a
  53.           fields are:
  54.  
  55.           val.msc
  56.                The control takes effect on the media stream sample whose MSC
  57.                is val.msc. Specifying an MSC of 0 causes the control to be set
  58.                before the first media stream sample, but not before
  59.                vvvvllllBBBBeeeeggggiiiinnnnTTTTrrrraaaannnnssssffffeeeerrrr() is called. Because the MSC continues to
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm))))                              VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm))))
  71.  
  72.  
  73.  
  74.                increment during underflow/overflow on the path (see
  75.                vvvvllllGGGGeeeettttFFFFrrrroooonnnnttttiiiieeeerrrrMMMMSSSSCCCC(3dm)), the occurrence of overflow/underflow
  76.                can cause the control to be set on a media stream sample other
  77.                than that intended. If a control change is specified at an MSC
  78.                which has already occurred, it takes effect immediately and a
  79.                _V_L_A_d_v_a_n_c_e_M_i_s_s_e_d event is generated.
  80.  
  81.           param.refNode
  82.                The memory node with respect to which the MSCs are defined.
  83.  
  84.      _V_L__T_R_I_G_G_E_R__V_I_T_C
  85.           The control value is set based on a specified Vertical Interval Time
  86.           Code (VITC) value.  The corresponding _t_r_i_g_g_e_r_D_a_t_a field is:
  87.  
  88.           val.vitc
  89.                The control takes effect on the media stream sample whose VITC
  90.                value is val.vitc (a _D_M_t_i_m_e_c_o_d_e structure - see
  91.                <_d_m_e_d_i_a/_d_m__t_i_m_e_c_o_d_e._h>).
  92.  
  93.      _V_L__T_R_I_G_G_E_R__G_P_I
  94.           The control value is set based on the occurrence of an external
  95.           trigger (GPI).  The corresponding _t_r_i_g_g_e_r_D_a_t_a field is:
  96.  
  97.           val.instance
  98.                The control is set between the media stream sample during which
  99.                an external trigger occurs on the specified trigger input
  100.                (val.instance) and the following sample.
  101.  
  102.      vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllIIIInnnnLLLLiiiinnnneeee sets a control value between two media stream samples
  103.      flowing from a memory src node. The point at which the control is to be
  104.      set is specified implicitly by the order of execution of the
  105.      vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllIIIInnnnLLLLiiiinnnneeee() call with respect to the order of calls to enqueue
  106.      samples on the memory buffer associated with _r_e_f_N_o_d_e.  Thus, for example,
  107.      in the following code fragment:
  108.  
  109.           err = vlDMBufferPutValid(svr, path, refNode, buf1);
  110.           err = vlSetControlInLine(svr, path, node, refNode, type, value);
  111.           err = vlDMBufferPutValid(svr, path, refNode, buf2);
  112.  
  113.      the control is set between the sample contained in _b_u_f_1 and the sample
  114.      contained in _b_u_f_2.  vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllIIIInnnnLLLLiiiinnnneeee works with both DMbuffers and
  115.      vlBuffers. Making a vvvvllllSSSSeeeettttCCCCoooonnnnttttrrrroooollllIIIInnnnLLLLiiiinnnneeee() call before the first sample is
  116.      enqueued, causes the control to be set before the first sample, but not
  117.      before vvvvllllBBBBeeeeggggiiiinnnnTTTTrrrraaaannnnssssffffeeeerrrr() is called.
  118.  
  119.      The following statements apply to all frame-accurate control changes.
  120.      Prior to issuing a control change request, vvvvllllSSSSeeeettttuuuuppppPPPPaaaatttthhhhssss(3dm)) must be
  121.      called.  A _V_L_C_o_n_t_r_o_l_C_h_a_n_g_e_d event is generated and the new control value
  122.      becomes visible to the application when the control is actually set - not
  123.      when the control change request returns.  Some validity checking for a
  124.      control change request may not occur until the time arrives to actually
  125.      set the control. If validity checks fail at this time, the request is not
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm))))                              VVVVLLLLSSSSEEEETTTTCCCCOOOONNNNTTTTRRRROOOOLLLLTTTTRRRRIIIIGGGGGGGGEEEERRRR((((3333ddddmmmm))))
  137.  
  138.  
  139.  
  140.      executed and the application is notified via a _V_L_I_n_v_a_l_i_d_C_o_n_t_r_o_l event.
  141.      All pending control change requests are flushed when the path chages
  142.      state from VL_SHARE or VL_LOCK to VL_DONE_USING or VL_READ_ONLY.
  143.  
  144. RRRREEEETTTTUUUURRRRNNNN VVVVAAAALLLLUUUUEEEE
  145.      If successful, these functions return zero.  A value of -1 indicates an
  146.      error, and vvvvllllEEEErrrrrrrrnnnnoooo is set to the correct error number. If an error of
  147.      VVVVLLLLVVVVaaaalllluuuueeeeOOOOuuuuttttOOOOffffRRRRaaaannnnggggeeee is returned the VL had to adjust the value passed in
  148.      before using it.  VVVVLLLLBBBBaaaaddddVVVVaaaalllluuuueeee means that the value was not set.
  149.      VVVVLLLLBBBBaaaaddddCCCCoooonnnnttttrrrroooollll means that the control does not exist on the specified node
  150.      or path.  VVVVLLLLNNNNoooottttSSSSuuuuppppppppoooorrrrtttteeeedddd means that setting the specified control in a
  151.      frame-accurate manner is not supported on the specified device.
  152.  
  153. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  154.      vlSetControl(3dm), vlGetFrontierMSC(3dm)
  155.  
  156.  
  157.  
  158.  
  159.  
  160.  
  161.  
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.